/**
 * 
 */
package com.py.credit.service;

import java.util.List;
import java.util.Map;

import com.py.credit.entity.TableResult;
import com.py.credit.utils.elasticsearch.EsPage;
import com.py.framework.core.common.Page;

/**
 * @author dd
 *
 */
public interface SSearchService {

	List<Map<String, Object>> getByConditionForPage(String kId, List<String> showColumns, String[] additionalColumns,
			String condition, Page page);

	List<Map<String, Object>> getTyshxydmTableListForPage(String condition, Page page);

	List<Map<String, Object>> getXyxxTableListForPage(String condition, Page page);

	Map<String, List<Map<String, Object>>> getXyxxDetail(String tybm, String type);

	List<Map<String, Object>> getSgsXxTableListByTypeForPage(String condition, Page page, String type);

	Map<String, List<Map<String, Object>>> getSgsXxDetail(String type, String name);

	List<Map<String, String>> getKeyWords(String kId, String input);

	Map<String, Object> getCollectionStatistics();

	Map<String, Integer> getResourceStatistics(String tybm);

	List<Map<String, Object>> getSharingSearchHistoryList(long userId, String kId);

	Map<String, Object> getUniqueList(Map<String, Object> map);

	void addHistory(String tybm, String kId, long id);

	List<TableResult> assembleTableComponent(List<TableResult> list);

	List<TableResult> assembleTableComponentForYZS(List<TableResult> list);

	String getTYBM(String kId, String searchWord);

	/**
	 * 
	 *
	 * @Function 通过ES查询关键词
	 * @FileName SSearchService.java
	 * @MethodName getKeyWordsByEs
	 * @param kId
	 * @param input
	 * @param page
	 * @return
	 * @Date 2018年11月13日 上午11:38:59
	 * @Author Min DongXv
	 *
	 */
	List<Map<String, String>> getKeyWordsByEs(String kId, String input, EsPage page);

	List<Map<String, String>> getSubjectLsitForPage(String kId, String input, Page page);

	 Map<String,Object>assembleTableComponentForMHWZ(List<TableResult> list,String tybm);

	 Map<String, Integer> selectInfoDetailLog(String qymc, String tybm);

	void updateInfoDetailLog(String qymc, String tybm);

	void addInfoDetailLog(String qymc, String tybm);

	Map<String, Object> xyhcassembleTableComponentForMHWZ(List<TableResult> list, String qymc,String tybm);

}
